﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Code;

public partial class cp_employee_manage_statistic : System.Web.UI.Page
{
    StatisticController statisticController = null;
 
    private void FillKieuThongKeDropList()
    {
        dlKieuThongKe.Items.Add("Tháng");
        dlKieuThongKe.Items.Add("Năm");
    }

    private void FillMonthDropList(List<int> monthList)
    {
        for (int i = 0; i < monthList.Count; i++)
        {
            dlGiaTri2.Items.Add(monthList[i].ToString());
        }
    }

    private void FillYearDropList(List<int> yearList)
    {
        for (int i = 0; i < yearList.Count; i++)
        {
            dlGiaTri1.Items.Add(yearList[i].ToString());
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        statisticController = new StatisticController();

        if (!this.IsPostBack)
        {
            FillKieuThongKeDropList();
            List<int> yearList = statisticController.GetYearList();
            if (yearList != null)
                FillYearDropList(yearList);
            List<int> monthList = statisticController.GetMonthList(Convert.ToInt32(dlGiaTri1.Text));
            if(monthList != null)
                FillMonthDropList(monthList);
        }
        
    }

    protected void dlKieuThongKe_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbThongKe.Text = "";
        switch (dlKieuThongKe.Text)
        {
            case "Tháng":
                lbGiaTri2.Visible = true;
                dlGiaTri2.Visible = true;
                dlGiaTri2.Items.Clear();
                List<int> monthList = statisticController.GetMonthList(Convert.ToInt32(dlGiaTri1.Text));
                if (monthList != null)
                    FillMonthDropList(monthList);
                break; 

            case "Năm":
                lbGiaTri2.Visible = false;
                dlGiaTri2.Visible = false;
                break;
        }
    }

    protected void dlGiaTri1_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbThongKe.Text = "";
        dlGiaTri2.Items.Clear();
        
        List<int> monthList = statisticController.GetMonthList(Convert.ToInt32(dlGiaTri1.SelectedItem.Text));
        
        if (monthList != null)
            FillMonthDropList(monthList);
    }

    protected void btnThongKe_Click(object sender, EventArgs e)
    {
        if (dlKieuThongKe.Text == "Tháng")
        {
            int month;
            int year;

            if (dlGiaTri1.Text != "")
            {
                if (dlGiaTri2.Text != "")
                {
                    month = Convert.ToInt32(dlGiaTri2.Text);
                    year = Convert.ToInt32(dlGiaTri1.Text);

                    int doanhso = statisticController.GetStatisticWithMonth(month,year);
                    lbThongKe.Text = String.Format("Doanh số của tháng {0} năm {1} đạt: ",month, year) + doanhso.ToString() + " VND";
                }
            }
        }
        
        else
            if (dlKieuThongKe.Text == "Năm")
            {
                int year;
                if (dlGiaTri1.Text != "")
                {
                    year = Convert.ToInt32(dlGiaTri1.Text);
                    List<int> monthList = statisticController.GetMonthList(year);
                    List<int> doanhthuList = new List<int>();
                    for (int i = 0; i < monthList.Count; i++)
                    {
                        int doanhthu = statisticController.GetStatisticWithMonth(monthList[i], year);
                        doanhthuList.Add(doanhthu);
                    }


                    String strDoanhThu = String.Format("Doanh thu các tháng năm {0} : <br /><br />", year);
                    for (int i = 0; i < monthList.Count; i++)
                    {
                        strDoanhThu = strDoanhThu + String.Format("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Doanh thu tháng {0} : {1} VND <br />", monthList[i], doanhthuList[i]); 
                    }

                    int tong = 0;
                    for(int i=0;i<doanhthuList.Count;i++)
                        tong = tong + doanhthuList[i];
                    strDoanhThu = strDoanhThu + "<br />";
                    strDoanhThu = strDoanhThu + String.Format("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tổng doanh thu năm {0} : {1} VND", year, tong);
                    lbThongKe.Text = strDoanhThu;
                }
            }
    }
}
